package com.atguigu.spring6.iocxml.di;

/**
 * Book类，用于表示书籍信息
 * 包含书籍名称和作者两个属性
 */
public class Book {
    // 书籍名称
    private String bname;
    // 书籍作者
    private String author;
private String others;

    public String getOthers() {
        return others;
    }

    public void setOthers(String others) {
        this.others = others;
    }

    /**
     * 获取书籍名称
     * @return 书籍名称
     */
    public String getBname() {
        return bname;
    }

    /**
     * 设置书籍名称
     * @param bname 书籍名称
     */
    public void setBname(String bname) {
        this.bname = bname;
    }

    /**
     * 获取书籍作者
     * @return 书籍作者
     */
    public String getAuthor() {
        return author;
    }

    /**
     * 设置书籍作者
     * @param author 书籍作者
     */
    public void setAuthor(String author) {
        this.author = author;
    }

    /**
     * 带参数的构造函数，用于创建Book对象时初始化书籍名称和作者
     * @param bname 书籍名称
     * @param author 书籍作者
     */
    public Book(String bname, String author) {
        System.out.println("有参数构造执行了");
        this.bname = bname;
        this.author = author;
    }

    /**
     * 无参构造函数，用于创建空的Book对象
     */
    public Book() {
        System.out.println("无参数构造执行了");
    }

    @Override
    public String toString() {
        return "Book{" +
                "bname='" + bname + '\'' +
                ", author='" + author + '\'' +
                ", others='" + others + '\'' +
                '}';
    }

    /**
     * 主函数，用于测试Book类
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        // 创建一个Book对象，并设置书籍名称和作者
        Book book = new Book();
        book.setBname("java");
        book.setAuthor("zhangsan");

        // 创建另一个Book对象，直接传入书籍名称和作者
        Book book1=new Book("python","wangwu");
    }
}
